#ifndef HELPERS_H
#define HELPERS_H

#include <vector>
#include <string>

using namespace std;

/** \file helpers.h */

/** This method splits a string over a set of delimiters.
 *  @param str the string to be splitted.
 *  @param delimiters the string of the characters that will split the string.
 *  @return a vector of the strings after splitting.
 *  For example if a string "4 + 3 * 2 = 6" is splitted with delimiters
 *  "+*", then the resulting vector would be: {"4 ", "+", " 3 ", "*", " 2 = 6"}.
 */
vector<string> SplitByDelimiter(string str, string delimiters);
/** This method just trims a string.
 *  @param the string to be trimmed.
 *  @return the same string after trimming.
 *  For example if the original string is " aa   ", then the result is "aa".
 */
string Strim(string &s);
/** This method tells if a string is a number or not.
 *  @param the string to be checked.
 *  @return true if the string had a number, false otherwise.
 *  Only integers and numbers with a point are considered as numbers.
 */
bool IsANumber(string s);
/** This method tells if a string is a variable name or not.
 *  @param the string to be checked.
 *  @return true if the string had a variab le or false otherwise.
 *  A variable is a string consisting of alphabetic characters followed by
 *  any number of digits.
 */ 
bool IsAVariable(string s);

#endif  // HELPERS_H
